<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Concept: Coding Standard</title>
<meta name="uma.type" content="Concept">
<meta name="uma.name" content="coding_standard">
<meta name="uma.presentationName" content="Coding Standard">
<meta name="element_type" content="concept">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../../css/default.css" type="text/css">
<script src="./../../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../../';
					var imgPath = './../../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="_aGqAsJ01EdyQ3oTO93enUw"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Concept: Coding Standard</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../../images/concept.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">A standard describing various coding conventions used for consistent, quality, understandable implementation.</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Related Elements</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../../practice.tech.test_driven_development.base/guidances/concepts/collective_code_ownership_E71A897B.html" guid="_xYMPoCZnEdyUaK463Ozu5g">Collective Code Ownership</a>
</li>
<li>
<a href="./../../../core.tech.common.extend_supp/guidances/guidelines/refactoring_F3D63EBD.html" guid="_YNx2sJ05EdyQ3oTO93enUw">Refactoring</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Main Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><p>
    Using a coding standard is a widely accepted software development practice. The need for this practice takes on added
    importance in a highly collaborative environment. The team should have a standard way of naming and formatting things
    so they can understand the code quickly and know where to look at all times. This enables shared code ownership since
    any team member should be able to quickly understand the code written by others.&nbsp;
</p>
<p>
    Ideally, the coding standard should be the result of team consensus. Involving the team members will aid adoption of
    the standards.
</p>
<p>
    Coding Standards cover such areas as:
</p>
<ul>
    <li>
        Naming standards. This includes the naming of elements all the way down to the smallest variable. In covering
        larger-scale elements, this overlaps into what could be considered design standards.
    </li>
    <li>
        File organization. This includes file naming conventions and how the files will be organized on the file system.
    </li>
    <li>
        Comment standards. Too much emphasis on comments implies a lack of confidence that readable code is being written,
        plus there is always a concern that the comments are not up to date. Yet, a consistent approach to comments
        improves understandability and can support the ability to generate documentation from the code.
    </li>
    <li>
        Coding conventions. Consistent application of specific code-level conventions and the exclusion of some considered
        poor form improve the quality of the code.
    </li>
    <li>
        White space. Though it can be argued to be less critical than the other items listed here, a consistent usage of
        white space as indentation and blank lines also improves readability.
    </li>
</ul>
<p>
    In some cases, decisions will be arbitrary (like how much to indent). Each item in the standard should support one or
    more goals, improved communication being one of the most critical goals. Once the team agrees on a standard, all
    members of the teams are expected to follow it. With time, the team will use and modify the standard to develop a style
    that is well adapted to the environment.
</p>
<p>
    Though some standards can transcend any language, coding standards must be language specific for the most part.
</p>
<p>
    For example coding standards, see the <a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html" target="_blank">Code Conventions for the JavaTM Programming Language</a> or these <a href="http://blogs.msdn.com/brada/articles/361363.aspx" target="_blank">Internal Coding Guidelines</a> for .NET
    development.
</p></td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright"><p> This program and the accompanying materials are made available under the<br />
  <a href="http://www.eclipse.org/org/documents/epl-v10.php" target="_blank">Eclipse 
  Public License V1.0</a>, which accompanies this distribution. </p><p/><p> <a class="elementLink" href="./../../../core.default.release_copyright.base/guidances/supportingmaterials/openup_copyright_C3031062.html" guid="_UaGfECcTEduSX6N2jUafGA">OpenUP Copyright</a></p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
